package pack0719.cn;

//演示栈结构:先进后出结构
public class Stack {

    private Integer top=-1;
    private int[] array=new int[10];

    //存放数据
    public void push(int a){
        top++;
        array[top]=a;
    }

    //显示所有的数据
    public void display(){
        for (int i = 0; i <=top ; i++) {
            System.out.println(array[i]);
        }
    }

    //获取真实大小
    public int size(){
        return top+1;
    }

    //获取数据
    //弹出栈顶的元素
    public int pop(){
        if(top!=-1){
            return array[top];
        }else{
            System.out.println("没数据");
        }
        return -1;
    }

    //把数据从数据中删除掉了
    //删除顶部的元素
    public void remove(){
        array[top]=0;
        top--;
    }

    //删除指定的元素
    public void remove(int n){
        //循环找到要删除的元素
        for (int i = 0; i <top ; i++) {
            if(array[i]==n){
                for (int j = i; j <=top ; j++) {
                    array[j]=array[j+1];
                }

                //移动完毕
                array[top]=0;
                //让指针指向栈的顶部
                top--;
                //退出方法
                return;
            }
        }
        //说明没有找到
        System.out.println("没有在数据中找到");

    }
}
